One widely used method of encoding a speech signal at a medium or low bit rate and with high efficiency involves first separating the speech signal into a Linear Prediction (hereinbelow abbreviated “LP”) filter and an excitation signal for driving this filter and then encoding.
A representative example of such a method is Code Excited Linear Prediction (hereinbelow abbreviated as “CELP”).
In CELP, a linear prediction filter in which a linear prediction coefficient has been set that indicates the frequency characteristic of input speech is driven by an excitation signal that is represented by the sum of an Adaptive Codebook (hereinbelow abbreviated “ACB”) that indicates the pitch cycle of the input speech and a Fixed Codebook (hereinbelow abbreviated as “FCB”) that is constituted by a random number or pulses to obtain a synthesized speech signal. Here, the ACB component and FCB component are each multiplied by gain, i.e., ACB gain and FCB gain, respectively. Regarding CELP, reference may be made to M. R. Schroeder and B. S. Atal, “Code-excited linear prediction: High-quality speech at very low bit rates” (1985), Proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), pp. 937-940 (Hereinbelow referred to as “Reference 1”).
However, assuming interconnection between, for example, a 3G (Third-Generation) Mobile network and a wire packet network, the problem arises that a direct connection between the two networks cannot be established because the standard speech encoding systems used in the two networks are different.
The easiest solution for this problem is a tandem connection. In a tandem connection, a code string that has been obtained by encoding speech by means of one standard system is first decoded using that standard system to obtain speech signals, and these decoded speech signals are then re-encoded using the other standard system.
A tandem connection therefore entails such problems as a general loss in sound quality, an increase in delay, and an increase in computational load when compared to a case in which coding and encoding are each performed only once by each speech coding/decoding system.
In contrast, an effective solution to the above-described problems can be provided by a code conversion system in which code that is obtained by encoding speech using one standard system is converted to code that can be decoded by the other standard system within encoding regions or encoding parameter regions.
For information regarding methods of converting code, reference can be made to the paper by Hong-Goo Kang et al. entitled “Improving Transcoding Capability of Speech Coders in Clean and Frame Erasured Channel Environments” and published in the Proceedings of the IEEE Workshop on Speech Coding 2000, pp. 78-80, 2000 (Hereinbelow referred to as “Reference 2”).
FIG. 1 shows an example of the configuration of a code conversion device for converting code that has been obtained by encoding speech using a first speech encoding system (referred to as “System A”) to code that can be converted by a second system (referred to as “System B”). Referring to FIG. 1, LP coefficient code conversion circuit 100, ACB code conversion circuit 200, FCB code conversion circuit 300, and gain code conversion circuit 400 are provided for receiving as input LP coefficient code, ACB code, FCB code, and gain code, respectively, of System A that have been separated by code separation circuit 1010, and then supplying as output LP coefficient code, ACB code, FCB code, and gain code, respectively, of System B to code multiplexing circuit 1020.
In System A, encoding of the linear prediction coefficient is carried out for each T(A)fr msec period (frame), and encoding of the components of excitation signals, i.e., ACB, FCB and gain, is carried out for each T(A)sfr=T(A)fr/N(A)sfr msec period (sub-frame).
In Method B, on the other hand, encoding of the linear prediction coefficient is carried out for each T(B)fr msec period (frame), and encoding of the components of the excitation signal is carried out for each T(B)sfr=T(B)fr/N(B)sfr msec period (sub-frame).
In addition, the frame length, number of sub-frames, and sub-frame length of System A are L(A)fr, N(A)sfr, and L(A)sfr=L(A)fr/N(A)sfr, respectively.
The frame length, number of sub-frames, and sub-frame length of System B are L(B)fr, N(B)sfr, and L(B)sfr=L(B)fr/N(B)sfr, respectively.
To simplify the explanation:L(A)fr=L(B)fr N(A)sfr=N(B)sfr=2L(A)sfr=L(B)sfr 
As an example, if the sampling frequency is 8000 Hz (8 KHz), and T(A)fr and T(B)fr are 10 msec, then L(A)fr and L(B)fr will be 160 samples, and L(A)sfr and L(B)sfr will be 80 samples.
Each component of a code conversion device of the prior art is next described with reference to FIG. 1.
A first code string that has been obtained by encoding speech by System A is received as input from input terminal 10.
From the first code string (multiplexed signal) that has been received as input from input terminal 10, code separation circuit 1010 separates codes that correspond to the linear prediction coefficient (LP coefficient), ACB, FCB, ACB gain, and FCB gain, i.e., LP coefficient code, ACB code, FCB code, and gain code.
In this case, the ACB gain and FCB gain are encoded and decoded together, and in the interest of simplifying the explanation, these are referred to as “gain” and the associated code is referred to as “gain code.”
In addition, the LP coefficient code, ACB code, FCB code, and gain code are each referred to as “first LP coefficient code,” “first ACB code,” “first FCB code,” and “first gain code.”
The first LP coefficient code is then supplied as output to LP coefficient code conversion circuit 100, the first ACB code is supplied as output to ACB code conversion circuit 200, the first FCB code is supplied as output to FCB code conversion circuit 300, and the first gain code is supplied as output to gain code conversion circuit 400.
LP coefficient code conversion circuit 100 receives the first LP coefficient code that is supplied as output from code separation circuit 1010 and converts the first LP coefficient code to a code that can be decoded by means of System B. This converted LP coefficient code is supplied as second LP coefficient code to code multiplexing circuit 1020.
ACB code conversion circuit 200 receives the first ACB code that is supplied as output from code separation circuit 1010, converts the first ACB code to code that can be decoded by System B, and then supplies this converted ACB code as second ACB code to code multiplexing circuit 1020.
FCB code conversion circuit 300 receives the first FCB code that is supplied as output from code separation circuit 1010, converts the first FCB code to code that can be decoded by System B, and then supplies this converted FCB code as second FCB code to code multiplexing circuit 1020.
Gain code conversion circuit 400 receives the first gain code that is supplied as output from code separation circuit 1010, converts this first gain code to code that can be decoded by System B, and then supplies this converted gain code as second gain code to code multiplexing circuit 1020.
The following explanation regards a more specific description of the operations of each of the conversion circuits.
LP coefficient code conversion circuit 100 decodes the first LP coefficient code that has been received from code separation circuit 1010 by means of the LP coefficient decoding system in System A to obtain the first LP coefficient.
LP coefficient code conversion circuit 100 next quantizes and encodes the first LP coefficient by means of the LP coefficient quantization method and encoding method in System B to obtain second LP coefficient code.
LP coefficient code conversion circuit 100 then supplies this second LP coefficient code to code multiplexing circuit 1020 as code that can be decoded by means of the LP coefficient decoding method in System B.
ACB code conversion circuit 200 obtains second ACB code by using the correlation between code in System A and code in System B to convert first ACB code that is received from code separation circuit 1010.
ACB code conversion circuit 200 then supplies second ACB code to code multiplexing circuit 1020 as code that can be decoded by the ACB decoding method in System B.
The conversion of code is next explained with reference to FIG. 2. When ACB code i(A)T in System A is, for example, “56,” the corresponding ACB delay T(A) is “76.” In System B, if the corresponding ACB delay T(B) is “76” when ACB code i(B)T is “53,” ACB code “56” in System A should be placed in correspondence with ACB code “53,” in System B when converting ACB code from System A to System B such that the values of the ACB delay are identical (in this case, “76”). This completes the explanation of the conversion of code, and explanation next returns to FIG. 1.
FCB code conversion circuit 300 converts the first FCB code that has been received as input from code separation circuit 1010 using the correlation between code in System A and code in System B to obtain the second FCB code.
This second FCB code is then supplied to code multiplexing circuit 1020 as code that can be decoded by the FCB decoding method in System B.
The conversion of code can be realized by the same System as the previously described conversion of ACB code. Alternatively, this conversion can be realized by a method similar to the conversion of LP coefficient code that is to be explained hereinbelow.
Gain code conversion circuit 400 decodes the first gain code that has been received as input from code separation circuit 1010 by means of the gain decoding method in System A and thus obtains the first gain.
Gain code conversion circuit 400 next quantizes and encodes the first gain by means of the quantization method and encoding method of gain in System B to obtain the second gain code.
Gain code conversion circuit 400 then supplies the second gain code to code multiplexing circuit 1020 as code that can be decoded by the gain decoding method in System B.
This conversion of the gain code can be realized by a method similar to that of the conversion of the LP coefficient code, and to simplify the following explanation, attention is directed only to the conversion of the LP coefficient code, which will be explained in detail.
Each of the components of LP coefficient code conversion circuit 100 is next explained with reference to FIG. 3.
In many standard systems such as the previously described ITU-T Standard G.729, the LP coefficient is often represented by a Line Spectral Pair (hereinbelow abbreviated as “LSP”) and the LSP then encoded and decoded. The LP coefficient in the following explanation is therefore represented by an LSP.
In this case, regarding the conversion from LP coefficient to LSP and the conversion from LSP to LP coefficient, reference may be made to well-known methods such as the method described in Section 3.2.3 and Section 3.2.6 in “Coding of Speech at 8 kbits/s using Conjugate-Structure Algebraic-Code-Excited Linear Prediction (CS-ACELP)” (ITU-T Recommendation G.729)(hereinbelow referred to as “Reference 3”).
LP coefficient decoding circuit 110 decodes the corresponding LSP from the LP coefficient code. LP coefficient decoding circuit 110 is provided with first LSP codebook 111 in which are stored a plurality of sets of LSP, receives the first LP coefficient code that has been supplied as output from code separation circuit 1010 by way of input terminal 31, reads the LSP that corresponds to the first LP coefficient code from first LSP codebook 111, and supplies the LSP that has been read as the first LSP to LP coefficient encoding circuit 130.
The decoding of LSP from the LP coefficient code follows the method of decoding an LP coefficient in System A (LSP decoding is necessary in this case because the LP coefficient is represented by an LSP) and employs the LSP codebook of System A.
LP coefficient encoding circuit 130 receives the first LSP that has been supplied as output from LP coefficient decoding circuit 110, successively reads each of the second LSP and the corresponding LP coefficient code from second LSP codebook 131 that stores a plurality of sets of LSP, selects the second LSP that has the minimum error with first LSP, and supplies the LP coefficient code that corresponds to this second LSP as the second LP coefficient code to code multiplexing circuit 1020 by way of output terminal 32.
In this case, the method of selecting the second LSP, i.e., the method of quantizing and encoding the LSP, follows the LSP quantization method and encoding method in System B and employs the LSP codebook in System B.
Regarding the quantization and encoding of the LSP, reference may be made to, for example, the description in Section 3.2.4 of Reference 3.
This completes the explanation of LP coefficient code conversion circuit 100, and the explanation next returns to FIG. 1.
Code multiplexing circuit 1020 receives the second LP coefficient code that has been supplied from LP coefficient code conversion circuit 100, the second ACB code that has been supplied from ACB code conversion circuit 200, the second FCB code that has been supplied from FCB code conversion circuit 300, and the second gain code that has been supplied from gain code conversion circuit 400, and supplies the code string that is obtained by multiplexing these codes as the second code string by way of output terminal 20. This completes all explanation referring to FIG. 1.
The configuration of a device that is relevant to the above-described code conversion device of the prior art is disclosed in, for example, Japanese Patent Laid-Open Publication No. 146997 (1996). This reference discloses a configuration that is used when a first speech encoding method and a second speech encoding method perform encoding using different quantization values or quantization methods. This configuration is a code conversion device for converting code that has been multiplexed by the first speech encoding method to code that is multiplexed by the second speech encoding method. In the disclosed configuration, multiplexed code that has been encoded by means of the first speech encoding method is applied as input to a code separation device whereby each code is separated; each of the codes that have been separated by the code separator are converted to the codes according to the second speech encoding method in accordance with the correlation between code according to the first speech encoding method and code according to the second speech encoding method, and in which a multiplexing device multiplexes each of the codes of the second speech encoding method that have been converted by the conversion device.
The inventors of the present invention have found that, when converting ACB code that corresponds to an ACB delay in the prior-art code conversion device that was explained with reference to FIG. 1, there is the problem that, allophones may at times occur in the decoded speech of System B that is generated using an ACB delay that is obtained from the ACB code after code conversion.
This problem occurs due to the mismatching between the ACB delay and the linear prediction coefficient (LP coefficient) and gain in System B. This mismatching occurs because the above-described code conversion device of the prior art directly uses the ACB delay that is found in System A as the ACB delay of System B, even though the interposition of quantization according to System B in the conversion of code for the linear prediction coefficient and gain causes the values of the linear prediction coefficient and gain to differ for System A and System B.